State-of-the-art high data rate coded transmission concepts require the development of efficient channel coding schemes. It has become apparent that the parallel concatenated convolution codes (PCCC), or turbo codes, currently specified for Wideband Code Division Multiple Access (WCDMA) may not be the optimum choice for use with very high coding rates, such as those required for HSDPA (high speed downlink packet access) having transmission rates above 10 Mbps. In addition, the decoding complexity of turbo codes is currently still rather high.
In general, turbo codes (see C. Berrou, A. Glavieux, P. Thitimajshima, Near Shannon limit error-correcting coding and decoding, Proc. IEEE ICC'93, pp.1064–1070, 1993) have been shown to approach the Shannon capacity, and currently are included in several wireless communications standards. One standard of interest is the one proposed for the third generation partnership project (3GPP) class of wireless communications devices having high speed packet data capabilities. However, the decoding complexity of the classical turbo codes, based on a posteriori probability (APP) decoding for the component codes, still remains too great for many practical applications. In an attempt to reduce the decoding complexity, a number of turbo-like codes and decoding algorithms have been proposed.
One class of turbo-like constructions are formed by 2-state convolutional codes (CC). A serial code concatenation with 2-state, rate 1 recursive CC as the inner code was introduced by D. Divsalar and F. Pollara, Serial and hybrid concatenated codes with applications, Proc. Int. Symp. on Turbo Codes, Brest, pp. 80–87, September 1997. The inner encoder is equivalent to a simple differential encoder, and may be treated as an accumulator. This approach later lead to so-called repeat-accumulate codes (see D. Divsalar, H. Jin, R. McEliece, Coding theorem for turbo-like codes, Allerton Conf., September 1998), where the outer code is a rate R repetition code. More recently, code constructions with an accumulator as the inner encoder, and CC as the outer coder, have been proposed and are referred to as Accumulated CC (or ACC). Reference in this regard can be had to A. M. Viterbi and A. J. Viterbi, New results on serial concatenated and accumulated-convolutional turbo code performance, Annales des Telecommunications, 54, No.3–4, pp.173–182, 1999.
The simplest ACC, where the outer code is a CC with memory m=1, ACC(m=1), is shown in FIG. 1, and was presented by the inventor in N. Nefedov, Application of low complexity serially concatenated codes for EDGE circuit switched data, Proc. IEEE PIMRC'99, Osaka, pp.573–577, September 1999, and in N. Nefedov, Comparison of Low Complexity Turbo-Like Coding Structures, Proc. IEEE ICC'01, pp. 50–54, 2001.
Another class of low complexity, turbo-like codes is based on concatenations of simple single-parity-check (SPC) codes (e.g., see G. Caire, G. Taricco and G. Battail, Weight Distribution and Performance of the Iterated Product of Single-Parity-Check Codes, Proc. IEEE Globecom 1994, and L. Ping, S. Chan, and K. L. Yeung, Iterative Decoding of Multidimensional Concatenated Single Parity Check Codes, in Proc. IEEE ICC'98, pp. 131–135, 1998). These types of codes can be shown to exhibit good performance at high coding rates.
Recently, zigzag codes and their concatenations have been suggested in order to improve the convergence and performance of SPC-based codes at medium coding rates (see L. Ping, X. Huang and N. Phamdo, Zigzag Codes and Concatenated Zigzag Codes, IEEE Trans. Information Theory, vol. 47, pp. 800–807, February 2001).
However, prior to this invention there was no optimum solution to the problems inherent in the use of turbo codes, or in the reduced complexity code approaches outlined above.